class Car:
    '''一次模拟汽车的简单尝试'''
    def __init__(self,make,model,year):
        self.make               = make
        self.model              = model
        self.year               = year
        self.odometer_reading   = 0
    def get_descriptiove_name(self):
        long_name = f"{self.year} {self.make} {self.model}"
        return long_name.title()

    def read_odometer(self):
        print(f"This car has {self.odometer_reading} miles on it.")

    def update_odometer(self,miles):
        if miles>=self.odometer_reading:
            self.odometer_reading = miles
        else:
            print("You can't roll back an odometer!")

    def incresement_odometer(self,in_miles):
        if in_miles >= self.odometer_reading:
            self.odometer_reading += in_miles
        else:
            print("You can't roll back an odometer!")

class Battery:
    '''一次模拟电动汽车电瓶的简单尝试'''
    def __init__(self,battery_size=75):
        '''初始化电瓶属性'''
        self.battery_size = battery_size

    def describe_battery(self):
        '''打印一条描述电瓶容量的消息'''
        print(f"This car has a {self.battery_size}--kwh battery.")
    def update_battery(self):
        if self.battery_size!=100:
            self.battery_size = 100
    def get_rang(self):
        '''打印一条消息，指出电瓶的续航里程。'''
        if self.battery_size == 75:
            range = 260
        elif self.battery_size == 100:
            range = 315
        else:
            range = 11111111
        print(f"This car can go about {range} miles on a full  change.")




class EletricCar(Car):#必须在圆括号内指定父类名称
    '''电动汽车的独特之处（除了Car以外，特有的功能）'''
    def __init__(self,make,model,year):#方法__init__接受创建Car实例所需要的信息。
        '''
        初始化父类属性
        再初始化电动汽车特有的属性
        '''
        super().__init__(make,model,year)
        self.battery = Battery()
        #此处注意，后面直接是个类

my_tesla = EletricCar('tesla','model s',2019)
my_tesla.battery.get_rang()
my_tesla.battery.get_rang()
my_tesla.battery.update_battery()
my_tesla.battery.get_rang()
